package com.skivingcloud.admin.sys.entity;

import java.io.Serializable;

public class MenuMeta implements Serializable{
	private static final long serialVersionUID = 1L;
	
	/**
	 * 当设置 true 的时候该路由不会再侧边栏出现 如404，login等页面(默认 false)
	 */
	private boolean hidden;
	/**
	 * 当你一个路由下面的 children 声明的路由大于1个时，自动会变成嵌套的模式，
	 * 只有一个时，会将那个子路由当做根路由显示在侧边栏，
	 * 若你想不管路由下面的 children 声明的个数都显示你的根路由，
	 * 你可以设置 alwaysShow: true，这样它就会忽略之前定义的规则，
	 * 一直显示根路由(默认 false)
	 */
	private boolean alwaysShow;
	/**
	 * 设置该路由在侧边栏和面包屑中展示的名字
	 */
	private String title;
	/**
	 * svg-name 设置该路由的图标
	 */
	private String icon;
	/**
	 * 如果设置为true，则不会被 <keep-alive> 缓存(默认 false)
	 */
	private boolean noCache;
	/**
	 * 如果设置为false，则不会在breadcrumb面包屑中显示(默认 true)
	 */
	private boolean breadcrumb;
	/**
	 * 如果设置为true，则会一直固定在tag项中(默认 false)
	 */
	private boolean affix;
	/**
	 * 如果设置为true，则不会出现在tag中(默认 false)
	 */
	private String activeMenu;
	/**
	 * 显示高亮的路由路径
	 */
	private boolean noTagsView;
	/**
	 * 跟随哪个路由进行权限过滤
	 */
	private String followAuth;
	/**
	 * 设置为true即使hidden为true，也依然可以进行路由跳转(默认 false)
	 */
	private boolean canTo;
	/**
	 * @return the hidden
	 */
	public boolean isHidden() {
		return hidden;
	}
	/**
	 * @param hidden the hidden to set
	 */
	public void setHidden(boolean hidden) {
		this.hidden = hidden;
	}
	/**
	 * @return the alwaysShow
	 */
	public boolean isAlwaysShow() {
		return alwaysShow;
	}
	/**
	 * @param alwaysShow the alwaysShow to set
	 */
	public void setAlwaysShow(boolean alwaysShow) {
		this.alwaysShow = alwaysShow;
	}
	/**
	 * @return the title
	 */
	public String getTitle() {
		return title;
	}
	/**
	 * @param title the title to set
	 */
	public void setTitle(String title) {
		this.title = title;
	}
	/**
	 * @return the icon
	 */
	public String getIcon() {
		return icon;
	}
	/**
	 * @param icon the icon to set
	 */
	public void setIcon(String icon) {
		this.icon = icon;
	}
	/**
	 * @return the noCache
	 */
	public boolean isNoCache() {
		return noCache;
	}
	/**
	 * @param noCache the noCache to set
	 */
	public void setNoCache(boolean noCache) {
		this.noCache = noCache;
	}
	/**
	 * @return the breadcrumb
	 */
	public boolean isBreadcrumb() {
		return breadcrumb;
	}
	/**
	 * @param breadcrumb the breadcrumb to set
	 */
	public void setBreadcrumb(boolean breadcrumb) {
		this.breadcrumb = breadcrumb;
	}
	/**
	 * @return the affix
	 */
	public boolean isAffix() {
		return affix;
	}
	/**
	 * @param affix the affix to set
	 */
	public void setAffix(boolean affix) {
		this.affix = affix;
	}
	/**
	 * @return the activeMenu
	 */
	public String getActiveMenu() {
		return activeMenu;
	}
	/**
	 * @param activeMenu the activeMenu to set
	 */
	public void setActiveMenu(String activeMenu) {
		this.activeMenu = activeMenu;
	}
	/**
	 * @return the noTagsView
	 */
	public boolean isNoTagsView() {
		return noTagsView;
	}
	/**
	 * @param noTagsView the noTagsView to set
	 */
	public void setNoTagsView(boolean noTagsView) {
		this.noTagsView = noTagsView;
	}
	/**
	 * @return the followAuth
	 */
	public String getFollowAuth() {
		return followAuth;
	}
	/**
	 * @param followAuth the followAuth to set
	 */
	public void setFollowAuth(String followAuth) {
		this.followAuth = followAuth;
	}
	/**
	 * @return the canTo
	 */
	public boolean isCanTo() {
		return canTo;
	}
	/**
	 * @param canTo the canTo to set
	 */
	public void setCanTo(boolean canTo) {
		this.canTo = canTo;
	}
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	
	@Override
	public String toString() {
		return "MenuMeta [" + (activeMenu != null ? "activeMenu=" + activeMenu + ", " : "") + "affix=" + affix
				+ ", alwaysShow=" + alwaysShow + ", breadcrumb=" + breadcrumb + ", canTo=" + canTo + ", "
				+ (followAuth != null ? "followAuth=" + followAuth + ", " : "") + "hidden=" + hidden + ", "
				+ (icon != null ? "icon=" + icon + ", " : "") + "noCache=" + noCache + ", noTagsView=" + noTagsView
				+ ", " + (title != null ? "title=" + title : "") + "]";
	}

	
}